package com.mall.user.model.dto.address;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.io.Serializable;

/**
 * 地址更新请求
 */
@Data
public class AddressUpdateRequest implements Serializable {

    /**
     * 地址ID
     */
    @NotBlank(message = "地址ID不能为空")
    private String id;

    /**
     * 收货人姓名
     */
    @NotBlank(message = "收货人姓名不能为空")
    private String name;

    /**
     * 收货人电话
     */
    @NotBlank(message = "收货人电话不能为空")
    private String phone;

    /**
     * 省份
     */
    @NotBlank(message = "省份不能为空")
    private String province;

    /**
     * 城市
     */
    @NotBlank(message = "城市不能为空")
    private String city;

    /**
     * 区县
     */
    @NotBlank(message = "区县不能为空")
    private String district;

    /**
     * 街道
     */
    private String street;

    /**
     * 详细地址
     */
    @NotBlank(message = "详细地址不能为空")
    private String detail;

    /**
     * 邮政编码
     */
    private String postcode;

    /**
     * 是否默认地址
     */
    private Boolean isDefault = false;

    /**
     * 地址标签(家/公司/学校等)
     */
    private String tag;

    private static final long serialVersionUID = 1L;
}
